var nftitle = {

	toTXT: function(title){
		var title = str_replace(htmlChars, unicodeChars, title);
		title = title.replace(/_/g, ' ').replace(/;/g,'').replace(/:/g,' ');
		return title;
	},

	toHTML: function(title){
		var title = str_replace(unicodeChars, htmlChars, title);
		var title = str_replace([':: ', ' ::', '::', ' ;;', ';; ', ';;', '_', '  '],['&zwnj; ','&zwnj; ','&zwnj; ','&zwnj;&zwnj;','&zwnj;&zwnj;','&zwnj;&zwnj;',' ',' '], title)		
		return title;
	},

	toURL: function(title){
		// VALID URL CHARS ARE $-_.+!*'(),
		// ALLOWED ARE 'A-Za-z0-9!#+*.&()éëèíïìúüùóòö; ';
		var title = str_replace(['#','é','è ','ë','í','ì','ï','ú','ù','ü','ó','ò','ö'],['_','e','e','e','i','i','i','u','u','u','o','o','o'],title)
		var title = str_replace(['::',':: ',' ::',';; ',';;',' ','&nbsp;','&nbsp;&nbsp;'],['_','_','_','','','','_','_','_'],title)
		var title = title.toLowerCase();
		return title;
	},
}


function str_replace(search, replace, subject) {

    var f = search, r = replace, s = subject;
    var ra = is_array(r), sa = is_array(s), f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;

    while (j = 0, i--) {
        while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
    };

    return sa ? s : s[0];
}

function is_array( mixed_var ) {

    return ( mixed_var instanceof Array );
}